/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.lestr.otaf.ihm;

import java.awt.Container;
import java.util.Stack;
import org.lestr.genver.data.map.ListenedMap;
import org.lestr.otaf.IBalise;

/**
 *
 * @author PIBONNIN
 */
public class BaliseBoutons implements IBalise {


    @Override
    public String getNom() {

        return "boutons";

    }


    @Override
    public boolean baliseOuvrante(ListenedMap<String, String> parametres,
                                  ListenedMap<String, Object> contexte,
                                  ListenedMap<String, Object> variables) {

        Container conteneur = (Container) contexte.get("BaliseIHM_conteneur_courant");

        Boutons boutons = new Boutons();
        conteneur.add(boutons);
        
        if(!contexte.containsKey("BaliseBoutons_ancien_conteneur"))
            contexte.put("BaliseBoutons_ancien_conteneur", new Stack<Container>());
        
        ((Stack<Container>) contexte.get("BaliseBoutons_ancien_conteneur")).push(conteneur);  
        contexte.put("BaliseIHM_conteneur_courant", boutons.panneau);
        
        return true;


    }


    @Override
    public boolean baliseFermante(String texte,
                                  ListenedMap<String, String> parametres, 
                                  ListenedMap<String, Object> contexte,
                                  ListenedMap<String, Object> variables) {

        contexte.put("BaliseIHM_conteneur_courant", ((Stack<Container>) contexte.get("BaliseBoutons_ancien_conteneur")).pop());
        
        return false;

    }


}

